Experiences with the C++ Standard Template Library and MPI for a Parallel Particle Simulation Method
نویسندگان
چکیده
In this paper we discuss design and implementation of a parallel particle simulation method from the realm of material sciences (laser ablation). To achieve a high degree of portability and eeciency we combine C++ and the MPI message passing library. Following a current trend in C++ towards template-based class libraries we use the Standard Template Library (STL). One of our results is that the STL is not only an easy library to use but a very eecient one too. Message passing libraries like MPI do not ooer proper STL bindings. We address these deeciencies and outline how both libraries could be joined smoothly. We also present performance measurements of our program on a cluster of 36 workstations. Using all nodes we can run a simulation that is almost 40 times larger than the original sequential one in less than one and half of the time the sequential simulation would require.
منابع مشابه
Parleda: a Library for Parallel Processing in Computational Geometry Applications
ParLeda is a software library that provides the basic primitives needed for parallel implementation of computational geometry applications. It can also be used in implementing a parallel application that uses geometric data structures. The parallel model that we use is based on a new heterogeneous parallel model named HBSP, which is based on BSP and is introduced here. ParLeda uses two main lib...
متن کاملTPO++: An Object-Oriented Message-Passing Library in C++
Message-passing is a well known approach for parallelizing programs. The widely used standard MPI (Message passing interface) also defines C++ bindings. Nevertheless, there is a lack of integration of object-oriented concepts. In this paper, we describe our design of TPO++1, an object-oriented message-passing library written in C++ on top of MPI. Its key features are easy transmission of object...
متن کاملA Portable MPI-Based Parallel Vector Template Library
This paper discusses the design and implementation of a polymorphiccollection library for distributed address-space parallel computers. The library provides a data-parallel programming model for C++ by providing three main components: a single generic collection class, generic algorithms over collections, and generic algebraic combining functions. Collection elements are the fourth component of...
متن کاملImplementation and Evaluation of MPI-Based Parallel MD Program
The message-passing interface (MPI)-based object-oriented particle–particle interactions (PPI) library is implemented and evaluated. The library can be used in the n-particle simulation algorithm designed for a ring of p interconnected processors. The parallel simulation is scalable with the number of processors, and has the time requirement proportional to n2/p if n/p is large enough, which gu...
متن کاملA Component Object Model Binding for MPI
COM is a specification for creating languageindependent interfaces between client applications and server components. MPI is a standard that defines the API provided by communication libraries. While MPI’s communication abstraction provides a portable means for communicating in a number of disparate parallel environments, the implementations are usually limited to providing C and FORTRAN bindin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997